const fs = require('fs')

let devServer

if (process.env.VUE_APP_API_SOURCE === 'web') {
  devServer = {
    disableHostCheck: true,
    // 你的测试环境域名
    host: 'bill.devops.intltest11.com',
    port: 9090,
    https: true,
    key: fs.readFileSync('./cert/key.pem'),
    cert: fs.readFileSync('./cert/cert.pem'),
    proxy: {
      [process.env.VUE_APP_API_URL]: {
        // 写项目的测试环境地址
        target: 'https://bill.devops.intltest11.com',
        ws: false,
        secure: true,
        changeOrigin: true
      }
    }
  }
} else {
  devServer = {
    disableHostCheck: true,
    // port: 9090,
    // host: 'bill.devops.intltest11.com',
    proxy: {
      [process.env.VUE_APP_API_URL]: {
        // 写项目的本地局域网后端地址
        target: 'http://10.250.211.199:7667',
        changeOrigin: true
      }
    }
  }
}

module.exports = {
  assetsDir: process.env.ASSETS_DIR || '',
  publicPath: process.env.PUBLIC_PATH || undefined,
  outputDir: process.env.OUTPUT_DIR || undefined,
  indexPath: process.env.INDEX_PATH || undefined,
  devServer,
  configureWebpack: (config) => {
    // 调试JS
    config.devtool = 'source-map'
  },
  css: {
    extract: {
      ignoreOrder: true
    },
    sourceMap: process.env.NODE_ENV !== 'production',
    // sourceMap: false,
    loaderOptions: {
      // 默认情况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时生效
      // 因为 `scss` 语法在内部也是由 sass-loader 处理的
      // 但是在配置 `prependData` 选项的时候
      // `scss` 语法会要求语句结尾必须有分号，`sass` 则要求必须没有分号
      // 在这种情况下，我们可以使用 `scss` 选项，对 `scss` 语法进行单独配置
      sass: {
        // 这个scss文件会被import到所有组件中
        prependData: '@import "@/common/style/variables.scss";'
      }
      // scss: {
      //   prependData: '@import "@/style/index.scss";'
      // }
    }
    // modules: false
  },

  pluginOptions: {
    i18n: {
      locale: 'zh',
      fallbackLocale: 'zh',
      localeDir: 'locales',
      enableInSFC: false,
      enableBridge: false
    }
  }
}
